Rubocop の警告を回避する rubocop.todo.yml ファイルの生成コマンドを使うときの注意点
rubocop --auto-gen-configで rubocop の警告を回避するファイル rubocop.todo.yml が生成される。
これは便利なんだけど、注意点がある。
rubocop --auto-gen-configだけで生成するときの懸念点:
Layout/LineLengthのMax値に、プロジェクト内の最大文字数が自動で指定されてしまう
https://docs.rubocop.org/rubocop/cops_layout.html#layoutlinelength
その最大文字数が大きければ、rubocop を回したときに今後警告が出ない → 長い行のコードがたくさん作られてしまう可能性がある
ではどうすればいいか?
解決策の1つとして、rubocop --auto-gen-configに以下のオプションを追加する。
code: sh
rubocop --auto-gen-config --auto-gen-only-exclude --exclude-limit 999999
ここでは2つのオプションを指定している。
--auto-gen-only-excludeとは?
警告が出たファイルを除外するだけで、Maxパラメータを書き換えることはしない
しかし除外されたファイルの数が exclude limit よりも多い場合、rubocop --auto-gen-configをしたときのようにMaxパラメータを変更してしまうので注意
--exclude-limit 999999とは?
除外するファイル数を変更できる
デフォルトは15で、このlimitより除外するファイルが多い場合はcop自体をfalseしてしまう
999999は適当な数字で、プロジェクト内のファイル数より十分に大きい数を指定すればいい
参考
Configuration :: RuboCop Docs
rubocop --auto-gen-config で、LineLengthのMaxを変更せず指摘に該当するファイルをexcludeする - Qiita